﻿using System;
using Magicodes.ExporterAndImporter.Core;
using Magicodes.ExporterAndImporter.Excel;
using OfficeOpenXml.Table;

namespace NP.BPMReportPlatform.BuyerScarletInformation.Dto
{
    [ExcelExporter(Name = "购方红字信息表", TableStyle = TableStyles.Light10, AutoFitAllColumn = true)]
    public class GetBuyerScarletInformationOutput
    {
        /// <summary>
        /// 流程状态
        /// </summary>
        [ExporterHeader(DisplayName = "流程状态")]
        public string OrderStatus { get; set; }

        /// <summary>
        /// 单据号
        /// </summary>
        [ExporterHeader(DisplayName = "流程编号")]
        public string InstanceNumber { get; set; }

        /// <summary>
        /// 申请时间
        /// </summary>
        [ExporterHeader(DisplayName = "申请时间")]
        public DateTime? ProcessStartTime { get; set; }

        /// <summary>
        /// 申请人
        /// </summary>
        [ExporterHeader(DisplayName = "申请人")]
        public string ProcessStartUserName { get; set; }

        /// <summary>
        /// 单据详情链接
        /// </summary>
        [IEIgnore(IsExportIgnore = true)]
        public string Url { get; set; }

        /// <summary>
        /// 购买方类型（关联企业，供应商）
        /// </summary> 
        [ExporterHeader(DisplayName = "购买方类型")]
        public string BuyerType { get; set; }

        /// <summary>
        /// 销方公司代码
        /// </summary> 
        [ExporterHeader(DisplayName = "销方公司代码")]
        public string CompanyCode { get; set; }

        /// <summary>
        /// 购方公司代码
        /// </summary> 
        [ExporterHeader(DisplayName = "购方公司代码")]
        public string BuyerCode { get; set; }

        /// <summary>
        /// 销方公司名称
        /// </summary> 
        [ExporterHeader(DisplayName = "销方公司名称")]
        public string CompanyName { get; set; }

        /// <summary>
        /// 购方公司名称
        /// </summary>

        [ExporterHeader(DisplayName = "购方公司名称")]
        public string BuyerName { get; set; }

        /// <summary>
        /// 下发的购方红字信息编号（SendRedLetterInvoiceMain applyTaxNo）
        /// </summary>
        [ExporterHeader(DisplayName = "红字信息编号")]
        public string RedLetterNumber { get; set; }

        /// <summary>
        /// 红冲原因
        /// </summary>
        [ExporterHeader(DisplayName = "红冲原因")]
        public string CreditMemoReason { get; set; }

        /// <summary>
        /// 发票号码
        /// </summary>
        [ExporterHeader(DisplayName = "发票号码")]
        public string InvoiceNumber { get; set; }

        /// <summary>
        /// 发票代码
        /// </summary>
        [ExporterHeader(DisplayName = "发票代码")]
        public string InvoiceCode { get; set; }


        /// <summary>
        /// 红冲金额(含税)
        /// </summary>
        [ExporterHeader(DisplayName = "红冲金额(含税)")]
        public decimal CreditMemoAmountHasTax { get; set; }

        /// <summary>
        /// 红冲金额(未税)
        /// </summary>
        [ExporterHeader(DisplayName = "红冲金额(未税)")]
        public decimal CreditMemoAmountNoTax { get; set; }

        /// <summary>
        /// sap入账凭证
        /// </summary>
        [ExporterHeader(DisplayName = "sap入账凭证")]
        public string SAPEntryVoucher { get; set; }

        /// <summary>
        /// 红字发票号码
        /// </summary>
        [ExporterHeader(DisplayName = "红字发票号码")]
        public string RedInvoiceNumber { get; set; }

        /// <summary>
        /// 红字发票代码
        /// </summary>
        [ExporterHeader(DisplayName = "红字发票代码")]
        public string RedInvoiceCode { get; set; }


        /// <summary>
        /// 红字发票日期
        /// </summary>
        [ExporterHeader(DisplayName = "红字发票日期")]
        public DateTime? RedInvoiceDate { get; set; }

        /*/// <summary>
        /// 下发红字信息接口对应字段
        /// </summary>
        [ExporterHeader(DisplayName = "申请人")]
        public string ApplySerialNo { get; set; }*/

        /// <summary>
        /// 退货单号
        /// </summary> 
        [ExporterHeader(DisplayName = "退货单号")]
        public string SapReceipt { get; set; }
    }
}